package com.yxw.live_vod_boot.service;

import com.yxw.live_vod_boot.dto.live_comment.*;
import com.yxw.live_vod_boot.vo.*;
import com.yxw.yxnet_cd_center.common.dto.PageVO;

public interface LiveCommentService {

    LiveCommentVO addComment(LiveCommentDTO dto);

    /**
     * 查询某一直播间下的评论列表
     */
    PageVO<LiveCommentVO> getLiveCommentLisByLiveId(LiveCommentQueryDTO dto);

    /**
     * 查询某一直播间下的评论总数和评论人数量
     */
    LiveCommentStatsVO getCommentStatsByLiveId(LiveCommentQueryDTO dto);

    /**
     * 禁言直播间中某一个用户
     */
    void silencedUser(LiveCommentSilencedUserDTO dto);

    /**
     * 查询直播间中被禁言用户列表
     */
    PageVO<LiveSilencedUserVO> getSilencedUserList(LiveCommentSilencedUserQueryDTO dto);

    /**
     * 拉黑直播间中某一个用户
     */
    void bannedUser(LiveBannedUserDTO dto);

    /**
     * 查询直播间中被拉黑用户列表
     */
    PageVO<LiveBannedUserVO> getBannedUserList(LiveBannedUserQueryDTO dto);

    /**
     * 解除禁言
     */
    void deleteSilencedUser(LiveCommentSilencedUserDeleteDTO dto);

    /**
     * 解除拉黑
     */
    void deleteBannedUser(LiveBannedUserDeleteDTO dto);

    /**
     * 直播结束后获取互动数据
     */
    LiveInteractiveDataVO getLiveInteractiveDataAfterLiveEnd(LiveInteractiveDataQueryDTO dto);

}